<!--/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/-->

<!-- entry/src/main/resources/rawfile/runJS.html -->
<!-- runJS.html -->
<!DOCTYPE html>
<html lang='en-gb'>
<head>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>run javascript demo</title>
</head>
<body>
<h1>run JavaScript Ext demo</h1>
<p id='webDemo'></p>
<br>
<button type='button' style='height:30px;width:200px' onclick='testNdkProxyObjMethod1()'>test ndk method1 ! </button>
<br>
<br>
<button type='button' style='height:30px;width:200px' onclick='testNdkProxyObjMethod2()'>test ndk method2 ! </button>
<br>

</body>
<script type='text/javascript'>

    function testNdkProxyObjMethod1() {
          if (window.ndkProxy === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy undefined';
                return 'objName undefined';
          }

          if (window.ndkProxy.method1 === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy method1 undefined';
                return 'objName  test undefined';
          }

          if (window.ndkProxy.method2 === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy method2 undefined';
                return 'objName  test undefined';
          }
          window.ndkProxy.method1(
            'hello', 'world', [1.2, -3.4, 123.456],
            ['Saab', 'Volvo', 'BMW', undefined],
            1.23456, 123789, true, false, 0, undefined);
          return 'success';
    }

    function testNdkProxyObjMethod2() {
          if (window.ndkProxy === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy undefined';
                return 'objName undefined';
          }

          if (window.ndkProxy.method1 === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy method1 undefined';
                return 'objName  test undefined';
          }

          if (window.ndkProxy.method2 === undefined) {
                document.getElementById('webDemo').innerHTML = 'ndkProxy method2 undefined';
                return 'objName  test undefined';
          }

        let student = {
                name:'zhang',
                sex:'man',
                age:25
        };
        let cars = [student, 456, false, 4.567];
        let params = '[\'{\\\'scope\\\']';

        window.ndkProxy.method2('hello', 'world', false, cars, params);
        return 'success';
    }

    function runJSRetStr(data) {
        const d = new Date();
        let time = d.getTime();
        return JSON.stringify(time);
    }
</script>
</html>